/*
* @Author: Marc
* @Date:   2019-06-02 17:42:32
* @Last Modified by:   Marc
* @Last Modified time: 2019-06-05 17:28:42
*/

//
// 对象扩展运算符（…）
// 
/*function jspang(...arg) {
    console.log(arg[0])
    console.log(arg[1])
    console.log(arg[2])
    console.log(arg[3])
}

jspang(1,2)*/

/*let arr1 = ['www','jspang','com']
// let arr2 = arr1
let arr2 = [...arr1]
console.log(arr2)

arr2.push('yepeng')
console.log(arr2)
console.log(arr1)*/

//
// rest运算符
// 
/*function jspang(first,...arg) {
    // console.log(arg.length)
    // console.log(arg)
    for(let val of arg) {
        console.log(val)
    }
}
jspang(0,1,2,3)*/

//
// 字符串模版
// 
/*let jspang='技术胖'
// let blog='非常棒' +jspang+ '这节课'
// let blog=`<b>非常棒</b>${jspang}这节课<br/>给力`
// document.write(blog)
// let a=1
// let b=2
// let result=`${a+b}`
// console.log(result)
let blog2 = '非常高兴你能看到这篇文章，我是你的老朋友技术胖。这节课我们学习字符串模版。'
// document.write(blog2.indexOf(jspang))
document.write(blog2.endsWith(jspang))
document.write('jspang|'.repeat(3));*/

//
// ES6数字操作
// 
/*// let binary = 0B010101
// console.log(binary)

// let octal = 0O666
// console.log(octal)

// let a=11/4
// console.log(Number.isFinite(a))
// console.log(Number.isFinite('jspeng'))
// console.log(Number.isFinite(NaN))
// console.log(Number.isFinite(undefined))
// console.log(Number.isFinite(bbb))
// console.log(Number.isNaN(NaN)) 
// console.log(Number.isInteger(a))
// console.log(Number.parseInt(a))
// console.log(Number.parseFloat(a))

console .log(Number.MAX_SAFE_INTEGER);
console.log(Number.MIN_SAFE_INTEGER);

let a= Math.pow(2,100)-1;
console.log(Number.isSafeInteger(a));//false*/

//
// ES6中新增的数组知识
// 
/*// var json = {
//     '0': 'jspang',
//     '1': '技术胖',
//     '2': '大胖比比叨',
//     length: 3
// };
// console.log(json)
// let arr = Array.from(json)
// console.log(arr)
// let arr2=Array.of(2,3,4,5,6)
// console.log(arr2)
// let arr3 =Array.of('技术胖','jspang','大胖逼逼叨');
// console.log(arr3);

let arr=['jspang','技术胖','大胖逼逼叨']
let list =arr.entries();
console.log(list)
console.log(list.next().value);
console.log(list.next().value);
console.log(list.next().value);
// for (let [index,val] of arr.entries()){
//     console.log(index + ':' + val);
// }*/

//
// ES6中的箭头函数和扩展
// 
// function add(a=1, b=10) {
//     // 'use strict';

//     if (a == 0) {
//         throw new Error('this is error');
//     }
//     return a + b;
// }
// console.log(add.length);
// 箭头函数
// var add = (a,b=1) => a+b
// var add = (a,b=1) {
//     console.log("jspang")
//     return a+b
// }
// console.log(add(1))



// let json = {
//     a:'jspang',
//     b:'技术胖'
// }
// function fun({a,b}){
//     // console.log(a,b);
//     document.write(a,b)
// }
// fun(json);
// let arr = ['jspang','技术胖','免费教程'];
// function fun(a,b,c){
//     console.log(a,b,c);
// }
 
// fun(...arr);
// 
// let arr=[,,,,,];
// console.log(arr.length);

// console.log(0 in arr);
// 


// let arr=['jspang','技术胖','前端教程'];
 
// arr.forEach((val,index)=>console.log(index,val));

// arr.filter(x=>console.log(x))

// arr.some(x=>console.log(x));

// console.log(arr.map(x=>'web'))

// console.log(arr.join('|'))

// console.log(arr.toString());
// 
// 
// let name = 'yepeng'
// let skill = 'web'
// var obj = {name,skill}
// console.log(obj)
// 

// var obj = {
//     add: function(a,b) {
//         return a+b
//     } 
// }
// console.log(obj.add(1,2))
// 
var a={a:'jspang'};
var b={b:'技术胖'};
var c={c:'web'};
 
let d=Object.assign(a,b,c)
console.log(d);